/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package specs.novousuario;

import br.com.ffm.info.praticas.fiptwitter.User;
import org.jbehave.core.annotations.Given;
import org.jbehave.core.annotations.Then;
import org.jbehave.core.annotations.When;
import static org.junit.Assert.*;
    
    
/**
 *
 * @author jacksonjp
 */
public class NSeguidores {
    private FIPTwitterFacade facade;
    private Exception resultException;
    private User user;
    
    
    @Given("os usu\u00E1rios CptoNascimento, Mathias e Baiano")
    public void givenUsuarios(){
        try{
                facade = new FIPTwitterFacade();
                user = facade.NewUser("CptoNascimento","nuncaserao","Capitão Nascimento");
                user = facade.NewUser("Mathias","nuncaserao","Capitão Nascimento");
                user = facade.NewUser("Baiano","nuncaserao","Capitão Nascimento");
	    } catch(Exception e){
                resultException = e;
	      }	
	}
    @When("o $Baiano e o $Mathias come\u00E7am a seguir o CptoNascimento")
    public void whenBaianoComecaSeguir(){
        user.addSeguidores(user);
    }
    
    @When("o Baiano postar a $mensagem \u00C9 n\u00F3is qui t\u00E1")
    public void whenBaianoPostaMensagem(String msg){
        user.addMensagens(msg);
    }
    
    @When("o CptoNascimento postar a $mensagem CAVEIRA!!!")
    public void whenCptoNascimentoPostaMensagem(String msg){
        user.addMensagens(msg);
    }
    
    @When("o CptoNascimento postar a $mensagem A nossa farda n\u00E3o \u00E9 azul, \u00E9 preta!")
    public void whenCptoNascimentoPostaMensagemFardaAzul(String msg){
        user.addMensagens(msg);
    }
    
    @Then("o usu\u00E1rio $Baiano e Mathias devem aparecer nos seguidores do CptoNascimento")
    public void BaianoMthiasDeveAparecer(String aparece){
        assertNotNull(user);
        assertEquals(aparece,"Baiano");
    }
    
    @Then("a timeline do Baiano deve ter a mensagem \u00C9 n\u00F3is qui t\u00E1 no \u00FAltimo tweet e tamanho $1")
    public void thenTimelineDeveAparecerCaveira(String tam){
        assertNotNull(user);
        assertEquals(tam,"1");
    }
    
    @Then("a timeline do Baiano deve ter a mensagem CAVEIRA!!! no \u00FAltimo tweet e tamanho $2")
        public void thenTimelineDeveAparecer(String tam){
        assertNotNull(user);
        assertEquals(tam,"2");
    }
    @Then("a timeline do Mathias deve ter a mensagem A nossa farda n\u00E3o \u00E9 azul, \u00E9 preta! no \u00FAltimo tweet e tamanho $2")
    public void thenTimelineDeveAparecerFardaPreta(String tam){
        assertNotNull(user);
        assertEquals(tam,"2");
    }

}